草庐IT

c++ - setenv, unsetenv, putenv

全部标签

php - 为什么已经定义的环境变量需要 putenv()?

当php用作apache模块,来自apache的环境变量SetEnv指令可用于php的getenv(),但它似乎不适用于C通过stdlib的getenv()扩展.至少它发生在pgsql上模块。如果用php代码重新实例化变量:putenv("varname=".getenv("varname"));然后它就可以用于扩展的代码。问题:为什么需要重新实例化?核心php环境与“标准”(stdlib)环境有何不同?这发生在:PHPVersion5.3.10-1ubuntu3.17在Ubuntu12.04中,作为apache模块。从命令行运行时,不需要上述解决方法。来自另一个问题:Using.pg

php - 使用 SetEnv 或 php.ini 存储数据库变量有多安全?

我不喜欢在document_root下存储站点范围的加密key和数据库访问信息,因此我在conf.d下使用Apache的SetEnv和php.ini文件将它们与代码库分开。最大的问题是,哪个更好?apachevhost文件下的环境变量内部(SetEnvSITEKEY'oinkoink!')或conf.d/xxx.ini文件内部(db_pass="oink?")?或许还有别的?优缺点:设置环境:+存储在DOCUMENT_ROOT之外+只有给定的虚拟主机可以访问-通过PHPINFO()可见-黑客需要直接访问/上传漏洞到文件get_cfg_var:+存储在DOCUMENT_ROOT之外+在P

php - Apache SetEnv 前置 REDIRECT_ 。是什么赋予了?

对于基于ZendFramework的应用程序,我在.htaccess中使用了apachesSetEnv。我像这样在测试、登台和生产服务器上使用它:SetEnvAPPLICATION_ENVIRONMENTproduction在登台服务器上,我无法在PHP中读取此环境变量。然而,当我在php中执行var_dump($_ENV)时,我得到了值,但key前面加上了REDIRECT_成为REDIRECT_APPLICATION_ENVIRONMENT谁能解释为什么会发生这种情况,我该如何防止这种情况发生? 最佳答案 我猜你的.htacces

php - .htaccess 中的 Zend SetEnv 不工作

我在我的ubuntu家庭服务器上安装了Zend。在我的.htaccess文件中,我有以下代码:SetEnvAPPLICATION_ENVdevelopmentRewriteEngineOnRewriteCond%{REQUEST_FILENAME}!-sRewriteCond%{REQUEST_FILENAME}!-lRewriteCond%{REQUEST_FILENAME}!-dRewriteRule^.*$index.php[NC,L]当我在公用文件夹的index.php中回显APPLICATION_ENV时,未设置APPLICATION_ENV。我做错了什么?在apache中启

c++ - 如何使用 putenv 系统调用维护内存?

POSIX系统调用putenv声明分配的内存字符串在调用putenv后不能被调用者释放。因此,您不能使用自动变量调用putenv。例子:#include#include#includeintmain(){charenvVar[]="MYVAR=Value";//putenv(envVar);//ERROR!char*memory=static_cast(std::malloc(sizeof(envVar)));std::strcpy(memory,envVar);putenv(memory);//OK!}此时我的问题是……环境变量内存是如何释放的?是否需要在单独的存储设备上维护它们并不

C++ 标准库 - std::setenv 与 setenv

我有一个简单的std::setenv调用,它在我的gcc下的Linux发行版上运行良好。但是,在我的MacOSX上使用clang时,出现以下错误。error:nomembernamed'setenv'innamespace'std';didyoumeansimply'setenv'?std::setenv(name.c_str(),value.c_str(),true);我确定,我在某处读到setenv是C++11中命名空间std的一部分,但现在我不确定。问题:应该使用setenv还是std::setenv,为什么会这样? 最佳答案

c++ - setenv.bat 缺少 Windows

我在构建驱动程序时遇到了问题。我下载了visualstudio2013。我下载了WDK8.1。当我调试程序时,它显示错误:"Error1errorMSB3073:Thecommand"callC:\ProgramFiles(x86)\WindowsKits\8.1\\bin\setenv.cmdC:\ProgramFiles(x86)\WindowsKits\8.1\chkwxpcd/dC:\FsFilter\FSFilter\build.exe-I"exitedwithcode9009.C:\ProgramFiles(x86)\MSBuild\Microsoft.Cpp\v4.0\V

java - 找不到 Tomcat 7 setenv.sh

我下载并解压了apache-tomcat-7.0.根据RUNNING.txt(%CATALINA_BASE%/RUNNING.txt)中的说明,它应该在“setenv.sh”文件中设置JRE_HOME。这个文件在哪里?文档说,它将在CATALINA_HOME/bin目录中。但是,该文件不存在。 最佳答案 文档确实提到了setenv.(sh|bat)文件的缺失:(3.4)Usingthe"setenv"script(optional,recommended)ApartfromCATALINA_HOMEandCATALINA_BASE,

python os.environ, os.putenv,/usr/bin/env

我想确保os.system('env')不包含某些特定变量myname在~/.bashrc中导出为exportmyname=csj因此,我写了下面的python代码:importosdefprint_all():print"os.environ['myname']=%s"%os.environ.get('myname')print"os.getenv('myname')=%s"%os.getenv('myname')os.system('env|grepmyname')printdefdelete_myname():if'myname'inos.environ:os.environ.p

go - 为什么从代码中调用 Setenv 不起作用?

我有一个简单的测试项目,期望在运行时打印goroutine调度消息。从Goland配置设置env它可以工作。但它不是来自下面的代码,该应用程序不会打印调度信息。有没有人解释一下这里发生了什么?funcTestScheduler1(){varwgsync.WaitGroupwg.Add(10)fori:=0;i初始化函数如下:funcinit(){os.Setenv("GOMAXPROCS","1")os.Setenv("GODEBUG",os.Getenv("GODEBUG")+"schedtrace=1000,scheddetail=1")} 最佳答案